package cn.edu.jxust.common.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDate;

/**
 * @author QiuKangming
 * @since 2020-06-29
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@TableName("t_account")
public class Account implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户权限id号
     */
    private Integer roleId;

    /**
     * 用户所在区域的id, 如果角色为区级管理员的时候需要填充该字段
     */
    private Integer areaId;

    /**
     * 用户所属企业id, 如果角色为企业用户的时候需要填充该字段
     */
    private Integer enterpriseId;

    /**
     * 用户名
     */
    private String username;

    /**
     * 用户密码
     */
    private String password;

    /**
     * 用户邮箱账号
     */
    private String email;

    /**
     * 用户电话号码
     */
    private String phone;

    /**
     * 用户新增或注册时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDate createDate;

    /**
     * 用户更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDate updateDate;

    /**
     * 人工录入情况下的录入人员id号
     */
    private Integer createUserid;

    /**
     * 用户状态(禁用 0, 激活 1), 默认为 1
     */
    private Integer status;

}
